@@ -39,7 +39,11 @@ def encrypt(request):  | 
            ||
| 39 | 39 | 
                ciphertext = plaintext  | 
            
| 40 | 40 | 
                 | 
            
| 41 | 41 | 
                     return response(200, data={
               | 
            
| 42 | 
                - 'ciphertext': u'%s+%s' % (CIPHER_PREFIX.get(alg, ''), ciphertext),  | 
            |
| 42 | 
                +        'ciphertext': u'{prefix}+{cipherlen}+{ciphertext}'.format(
               | 
            |
| 43 | 
                + prefix=CIPHER_PREFIX.get(alg, ''),  | 
            |
| 44 | 
                + cipherlen=len(ciphertext),  | 
            |
| 45 | 
                + ciphertext=ciphertext,  | 
            |
| 46 | 
                + ),  | 
            |
| 43 | 47 | 
                })  | 
            
| 44 | 48 | 
                 | 
            
| 45 | 49 | 
                 | 
            
                @@ -47,13 +51,15 @@ def encrypt(request):  | 
            ||
| 47 | 51 | 
                def decrypt(request):  | 
            
| 48 | 52 | 
                     ciphertext = request.POST.get('ciphertext', '')
               | 
            
| 49 | 53 | 
                 | 
            
| 50 | 
                -    alg, ciphertext = ciphertext.split('+', 1)
               | 
            |
| 54 | 
                +    prefix, cipherlen, ciphertext = ciphertext.split('+', 2)
               | 
            |
| 51 | 55 | 
                 | 
            
| 52 | 
                - if alg == CIPHER_PREFIX['CAESAR']:  | 
            |
| 56 | 
                + ciphertext = ciphertext[:int(cipherlen)]  | 
            |
| 57 | 
                +  | 
            |
| 58 | 
                + if prefix == CIPHER_PREFIX['CAESAR']:  | 
            |
| 53 | 59 | 
                plaintext = caesar_decrypt(ciphertext)  | 
            
| 54 | 
                - elif alg == CIPHER_PREFIX['B64']:  | 
            |
| 60 | 
                + elif prefix == CIPHER_PREFIX['B64']:  | 
            |
| 55 | 61 | 
                plaintext = b64_decrypt(ciphertext)  | 
            
| 56 | 
                - elif alg == CIPHER_PREFIX['RSA']:  | 
            |
| 62 | 
                + elif prefix == CIPHER_PREFIX['RSA']:  | 
            |
| 57 | 63 | 
                plaintext = rsa_decrypt(ciphertext)  | 
            
| 58 | 64 | 
                else:  | 
            
| 59 | 65 | 
                plaintext = ciphertext  |